約 5,039,089 件
https://w.atwiki.jp/m_shige1979/pages/334.html
基礎 ダウンロード インストール 起動、終了 データ定義 データベースユーザー作成 データベースユーザー削除 データベース作成 データベース削除 スキーマ作成 スキーマ削除 テーブル作成 テーブル削除 ファンクション作成 ファンクション削除 データ入出力 copy psql 起動オプション システムスキーマ システムデータ データベースチューニング postgresql.confファイルの編集 pg_hda.confファイルの編集 バックアップ、リカバリ バックアップ リカバリ レプリケーション ウォームスタンバイ Sloyny-I pgpool-Ⅱ DRBD
https://w.atwiki.jp/ohden/pages/30.html
前提条件 Ubuntu8.10server install ~ tools ~ PostGIS EnterpriseDB Postgres Plus Advanced Server http //www.enterprisedb.com/products-services-training/products/postgres-plus-advanced-server Download Database/PostgreSql/tools/ ~ tips ~ ■ キャスト CAST(x AS typename) x typename e.g.) ((E 3461 ) numeric) ■ 文字列の前に付ける『E』 PostgreSQL 9.1から『standard_conforming_strings』がデフォルトonとなったらしい。 『standard_conforming_strings = on』が設定されている状態では、文字列中のエスケープシーケンスがエスケープシーケンスとして扱われない。つまりエスケープ文字がエスケープ文字として扱われず、ただの『\』となってしまう。 回避策としては、『standard_conforming_strings = off』とするか、『E string 』と書く。 環境移行時に、大量に修正箇所があって移植が困難な状況とかで無い限りは『E string 』を用いること。 権限不足でテーブル空間が作成できない 外部から接続したい pg_dumpとかで任意のパスワードを使いたい database間の差異を調べたい Database/PostgreSql/tips/ 更新日: 2018年09月12日 (水) 10時08分40秒 nullの項目を頭に持ってくる→ `select * from table_name order by sort_code asc nulls first;` nullの項目をケツに持ってくる→ `select * from table_name order by sort_code asc nulls last;` これを使えば降順の時は頭、昇順の時はケツとかその逆も可能になる。 ちなみに、Oracleも使えるみたいだけど、mysqlは使えねぇ... -- (s1n) 2018-09-12 10 14 25 test環境やlocal環境で完結する話なら性能を簡単に上げられる。 お客様環境とかでは絶対設定してはいけない。 `/etc/postgresql/10/main/postgresql.conf`の`fsync = off`とする。 システムコールfsyncはメモリ上とディスク上のfileを同期させる処理。 なので、停電などでメモリ上にしかないlogが消えると復旧が困難になったり、所望の状態へrollbackしたりが大変になるかもしれない。 local環境やtest環境ならoffってしまえば性能を容易に上げられる。 -- (s1n) 2018-09-21 09 19 02 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/dellkeitai/pages/22.html
繋がらない ./psql error while loading shared libraries libpq.so.5 cannot open shared object file No such file or directory 対策 環境設定に以下を設定する LD_LIBRARY_PATH=/opt/CorrectMail/postgres/lib export LD_LIBRARY_PATH psql could not connect to server No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? ポートが間違っていないか確認する。 netstat -tlp TCPでリスンしているもプログラムを調べる ログインできるようにする alter user username password password ; CREATE ROLE name LOGIN; GRANT SELECT ON テーブル名 TO ユーザー名 ;
https://w.atwiki.jp/hanaoka/pages/6.html
いろいろ カンマ区切りで出力する persdb=# \a Output format is unaligned. persdb=# \pset fieldsep , Field separator is ",". persdb=# select ~~~~~~; テーブルを csv で出力する \pset format unaligned ←出力形式を指定 \pset fieldsep , ←フィールドのセパレータにカンマ区切りを指定 \pset footer ←フッタ(行数表示等)を出力させない \encoding shift-jis ←文字コードをs-jisに指定 \o ************.csv ←出力ファイルを指定 select * from ~~~~~ ←ここにSQLを書く ダンプいろいろ 全部ダンプ :pg_dump -U postgres -f DumpAll.sql persdb 定義だけダンプ :pg_dump -s -U postgres -f TableCreate.sql persdb データだけダンプ :pg_dump -a -U postgres -f DataDump.sql persdb 特定のテーブルのダンプ:pg_dump -U postgres -t テーブル データベース名 dump.out リストア :psql -U postgres -d dbname -f DumpAll.sql とか 置換 update grpfacilityservice set service_name=replace(service_name, - , ー ) where grp_id= G16 and facility_id= F0708 ; 意味:service_nameカラムの中の - を ー に置換する database一覧の表示 psql -l databaseのChange psql \c windowsのpostgrs リストア方法 C \Program Files\PostgreSQL\8.1\bin psql -U postgres DB名 dumpファイル名 copyコマンドの実行方法 persdb=# \copy facilityreservation from C \\csv\\facilityreservation.csv with delimiter , iコマンドの実行方法 persdb=# \i C \\csv\\update\grpfacilityaddress.sql 変更したconfigファイル /usr/local/pgsql/data/postgresql.confのlisten_addressesの値を * に設定します。 listen_addresses = locao host → listen_addresses = * /usr/local/pgsql/data/pg_hba.confファイルで認証設定を行います。 すべてのホストからの接続を無条件に許可する設定。 host all all 0.0.0.0 0.0.0.0 trust NULL変換 LEFT INNER JOIN したときなんかに、nullの代わりに「0」を表示したいとき COALESCE(r.sum,0) なんてやってみるとよい
https://w.atwiki.jp/o230483/pages/8.html
目次 公式HP PostgreSQL7.4.16インストールとDB構築準備LANG=C問題 PostgreSQL7.4.2 on Zaurus Postgres(Ruby PostgreSQL 拡張モジュール) PostgreSQL活用日本語での検索やソート --no-locale (initdb) バックアップとリストア マルチアカウント設定例 postgreSQLでデータベース postgres-rubyの活用 公式HP 本家 日本PostgreSQLユーザ会 PostgreSQL使用サイトリンク集(フリーウェア) pgsql-jp -- PostgreSQL Japanese Mailing List PostgreSQL7.4.16 正規版7.4.16 インストールとDB構築準備 Private Packages for Sharp Zaurus SL-C series hdd2にインストール。データベースもhdd2に構築する必要あり。 $mkdir /hdd2/database $export PGDATA=/hdd2/database # -.bashrc追記も行う $su #chown zaurus.qpe /hdd2/database #exit 下記"ZaurusPostgreSQL解説とダウンロードwiki"を参考に、initdbを書き換える。 #cp /dev/null "$PGDATA"/postgresql.conf || exit_nicely -コメントアウトして touch "$PGDATA"/postgresql.conf || exit_nicely # -追記する 修正したら、LANG=CでローケールをCにしてからinitdbを実行する。 LANG=C問題 dipusさんとこに情報あり。 07'3/20 LANG=ja でエラーが出る方は glibc-locale-ja-* がインストー ルされてないためのはず。 06'6/19 数日前の man-db ですが、X/Qt な環境を作ってるのであれば、 全く問題なく動きます。そうじゃない場合は、X/Qt-1 or X/Qt -2 の Feed から locale 回りをインストールする必要があり ます。X/Qt-2 の場合は、glibc-gconv-ja, glibc-locale- ja-eucjp, glibc-locale-ja-utf8 の三つをインストールし ておけば大丈夫です。 ついでに、/usr/lib/locale/ja_JP.eucjpからjaにシンボリッ クリンクを貼っておけば、LANG=ja_JP.eucJPとやらずに済みます。 uim-fepやuim-ximの場合も同じです。 というわけで、X/QT2 Feed. PostgreSQL7.4.2 on Zaurus vfatパッチ適用版7.4.2 ZaurusPostgreSQL解説とダウンロードwiki gcc3でコンパイルしているためlibgcc_s.so.1が必要になります。あとlibz.so.1, libreadline.so.4にも依存しています。コンパイルオプションに-mcpu=xscale -mtune=xscaleをつけていますのでxscaleでないと動かないかもしれません。 LinuxZaurusTIPS Postgres(Ruby PostgreSQL 拡張モジュール) 日本語リファレンス rdoc形式英語リファレンス ダウンロード Ruby/DBIとSQLite・MySQL・PostgreSQL拡張モジュールのインストール RubyでPostgreSQL 7.4との連携に関して postgreSQL7.4にはPQserverVersionがない問題は、下記の内容の問題。 環境;C3000 postgres7.4.16 ruby1.8.6pr3 DBを構築(host="",port=5432,db名="mydb")した状態で、irbより require "postgres" - true conn=PGconn.connect("",5432,"","","mydb") irb error while loading shared libraries /opt/QtPalmtop/ lib/ruby/site-ruby/1.8/arm-linux/postgres.so undefined sym bol PQserverVersion とのエラーが出る。 ここ(7.4.6文書27.2. 接続状態関数と、ここ(8.0.1文書27.2. 接続状態関数 から、libpqに含まれる関数に7.4.16と8.0以降で差があることがわかる。この7.4.16にはPQserverVersionが含まれていない。 postgres.cの該当部分178行目 if (PQserverVersion(conn) = 80100) { rb_define_singleton_method(self, "lastval", pgconn_lastval, 0); } 80100はバージョン8.1をあらわす。7.4.Xを使用するのであれば、この構文は不要と思われる。 (ちなみに、日本語のページのruby-postgres-20050407.tar.gzのpostgres.cでは、この構文は見られない) dipusさんとこで対策版ruby-postgresのipkがアップされている。 PostgreSQL活用 日本語での検索やソート --no-locale (initdb) オフィシャルマニュアルに「--no-locale」が載ってない ちなみに、ご存知の方はご存知ですが、initdbする際に「--no-locale」を忘れると、日本語での検索やソートなどが、想定している通りに動かなくなる場合があります。ご注意を。 --no-locale 日本語を使うときにPostgresのDBの初期化はこんな感じです。 $ initdb --no-locale --encoding=EUC_JP バックアップとリストア 全てのデータベースを書き出す場合、以下のようにします。 $ pg_dumpall db.out 上記で書き出したデータベースを読み込む場合、以下のようにします。 $ psql -f db.out postgres # -postgres=リストア先構築済みDB名 マルチアカウント設定例 PostgreSQLの覚え書き postgreSQLでデータベース postgres-rubyの活用 rubyからpostgresを操作する =end
https://w.atwiki.jp/tak_is/pages/58.html
2012-03-06 19 02 31 (Tue); 好みです。 @echo off cd /d %~dp0 rem --- rem %APPDATA%\postgresql\pgpass.conf に 以下の1行を追加 rem 172.21.0.1 5432 * userid passord rem [ホスト] [ポート] [データベース] [ユーザ] [パスワードの形式] rem --- SET HOSTNAME=172.21.0.1 SET PORT=5432 SET USERID=userid SET PASSWD=passord SET DATABASE=dbname rem psql.exeにパスを通す SET PATH=%PATH%;C \Program Files\pgAdmin III\1.10 SET DT=%DATE ~-10% SET TM=%TIME ~-11% SET DTC=%DT ~0,4%%DT ~5,2%%DT ~8,2% SET TMC=%TM ~0,2%%TM ~3,2%%TM ~6,2% SET SUFFIX=_BK_%DTC%_%TMC% rem pgpass.confが無い場合は追加する IF NOT EXIST "%APPDATA%\postgresql\pgpass.conf" ( ECHO "□□□ not find pgpass.conf" MKDIR "%APPDATA%\postgresql" ECHO %HOSTNAME% %PORT% * %USERID% %PASSWD% "%APPDATA%\postgresql\pgpass.conf" ) rem ログを出力する IF EXIST log ( ECHO backup log... MOVE log log%SUFFIX% RMDIR /Q /S log ) MKDIR log rem sqlフォルダ内の[.sql]ファイルを実行する FOR /F "usebackq delims==" %%i IN (`DIR /B sql\*.sql`) DO ( ECHO ■■■ [%%i] psql.exe -h %HOSTNAME% -p %PORT% -d %DATABASE% -U %USERID% -f sql\%%i log\%%i.log 2 1 ECHO □□□ --^ [%ERRORLEVEL%] ) EXIT_PROCESS PAUSE
https://w.atwiki.jp/rinn/pages/31.html
□postgreSQL ロック確認方法(実行中ジョブ確認) 下記の様なコマンドで、postgreSQLでLock中のオブジェクトが確認できます。 また、postgreSQLでは、各SQL操作はプロセスが分かれる為、そのコマンドから処理内容も 分かる場合があります。 psql iplocksdb -c "select b.relname, a.* from pg_locks a,pg_class b where a.relation=b.relfilenode order by a.pid;" postgreSQL関連のプロセスを下記の様にして、表示します。 (実行コマンド等の処理状況) [iplocks@del-vm146 iplocks]$ ps -aef | grep post | grep -v grep iplocks 18556 1 0 17 14 pts/2 00 00 00 /usr/bin/postmaster -i iplocks 18558 18556 0 17 14 pts/2 00 00 00 postgres stats buffer process iplocks 18559 18558 0 17 14 pts/2 00 00 00 postgres stats collector process iplocks 21209 18556 67 18 11 pts/2 00 01 27 postgres iplocks iplocksdb [local] DELETE ※OSのプロセスID=21209にてdelete文実行中 次に、Locks確認用のコマンドを実行します。 (ポストグレス内でのロック状況) [iplocks@del-vm146 iplocks]$ psql iplocksdb -c "select b.relname, a.* from pg_locks a LEFT OUTER JOIN pg_class b ON a.relation=b.relfilenode order by a.pid;" relname | relation | database | transaction | pid | mode | granted --------------+----------+----------+-------------+-------+------------------+--------- alarms | 902497 | 902367 | | 21209 |AccessShareLock | t - delet処理の為のロック alarms | 902497 | 902367 | | 21209 |RowExclusiveLock | t - delet処理の為のロック alertmsgs | 902502 | 902367 | | 21209 |AccessShareLock | t - delet処理の為のロック alertmsgs | 902502 | 902367 | | 21209 |RowExclusiveLock | t - delet処理の為のロック ubmdrilldown | 902668 | 902367 | | 21209 |AccessShareLock | t - delet処理の為のロック ubmdrilldown | 902668 | 902367 | | 21209 |RowExclusiveLock | t - delet処理の為のロック pg_class | 1259 | 902367 | | 21252 |AccessShareLock | t pg_locks | 16757 | 902367 | | 21252 |AccessShareLock | t (8 rows)※pid項目からOSプロセスIDとの比較から、どの処理がロックを使用して いるか分かります。
https://w.atwiki.jp/geema/pages/13.html
検索 実はDBの検索って結構簡単にできるらしい。 例えば、universitiesテーブルから、name属性に「東京」を含むものを検索する時は SELECT * FROM universities WHERE name LIKE %東京% ; とすればOK。 ただし、文字コードには気をつけて下さい。 使い方 各自のアカウントがpostgresユーザとして登録されていれば psql でDBに入れます。 DBのコマンドに関しては \? でpostgresのコマンドが、 \h でSQLのコマンドが見れます。 PostgreSQLは基本的なコマンドは\(バックスラッシュ)+なにかでできるようになっています。 MySQLとその辺が異なるので注意ください。
https://w.atwiki.jp/c0metssd/pages/38.html
サーバの設定 サーバ証明書を作成httpdのSSL対応して、C \Program Files\PostgreSQL\9.3\dataにコピーする *.crt *.key 「C \Program Files\PostgreSQL\9.3\data\postgresql.conf」を編集 項目 元 変更後 ssl off on ssl_ciphers コメント コメント外す ssl_cert_file コメント ファイル名のみを記載 ssl_key_file コメント ファイル名のみを記載 postgreSQLを再起動する コマンドプロンプトから接続確認(SSLの記述があればOK) C \Program Files\PostgreSQL\9.3\bin psql -U ユーザ データベース ユーザ xxxx のパスワード psql (9.3.4) SSL 接続 (暗号化方式 DHE-RSA-AES256-SHA, ビット長 256) help でヘルプを表示します. 2014/7/22
https://w.atwiki.jp/roundcube/pages/5.html
PostgreSQLでDB環境を設定 DBユーザ作成 # su - postgres $ createuser -P roundcube Enter password for user "roundcube" ****** Enter it again ****** Shall the new user be allowed to create databases? (y/n) y Shall the new user be allowed to create more new users? (y/n) y CREATE USER DB作成 $ createdb -U roundcube -O roundcube roundcube createdb $ psql -l List of databases Name | Owner | Encoding --------------+--------------+---------- roundcube | roundcube | EUC_JP 初期テーブル定義 $ psql -U roundcube roundcube SQL/postgres.initial.sql